package com.zhijian.medical.dao.local;

import com.zhijian.medical.entity.po.DigitalSliceCaseCollectLike;
import com.zhijian.medical.entity.vo.request.DigitalSliceCaseCollectLikeSearchVo;
import com.zhijian.medical.entity.vo.response.DigitalSliceCaseCollectLikeVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DigitalSliceCaseCollectLikeMapper {
    int deleteByPrimaryKey(Long id);

    /**
     * 根据类型、病例id、用户id进行删除
     *
     * @param type
     * @param caseId
     * @param userId
     * @return
     */
    int deleteByTypeAndCaseIdAndUserId(@Param("type") Byte type, @Param("caseId") Long caseId, @Param("userId") Long userId);

    int insert(DigitalSliceCaseCollectLike record);

    int insertSelective(DigitalSliceCaseCollectLike record);

    DigitalSliceCaseCollectLike selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(DigitalSliceCaseCollectLike record);

    int updateByPrimaryKey(DigitalSliceCaseCollectLike record);

    int count(DigitalSliceCaseCollectLikeSearchVo digitalSliceCaseCollectLikeSearchVo);

    List<DigitalSliceCaseCollectLikeVo> selectList(DigitalSliceCaseCollectLikeSearchVo digitalSliceCaseCollectLikeSearchVo);

    DigitalSliceCaseCollectLikeVo selectVoById(Long id);

    int insertBatch(@Param("entities") List<DigitalSliceCaseCollectLike> entities);
}